package a.j;

import a.b.a;
import a.b.b;
import a.b.c;
import a.c.e;
import a.c.m;
import a.c.q;
import a.c.z;
import a.d.o;
import a.d.t;
import a.f.dc;
import a.f.sb;
import a.f.wb;
import a.f.wc;
import a.f.xb;
import a.f.xc;
import a.f.yc;
import a.f.zb;

import java.awt.*;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.util.*;

public class zc
  implements c
{
  private static final long a = 300L;
  private static final boolean b = true;
  private e c;
  private boolean d;
  private boolean e;
  private long f = 300L;
  private boolean g = true;
  private b_ h;
  public static int i;
  
  public zc() {}
  
  public zc(pg parampg, dc paramdc)
  {
    b(parampg, paramdc);
  }
  
  public boolean d()
  {
    return this.g;
  }
  
  public void a(boolean paramBoolean)
  {
    this.g = paramBoolean;
    if ((ld.E) || (this.h != null)) {
      this.h.a(paramBoolean);
    }
  }
  
  public long c()
  {
    return this.f;
  }
  
  public void a(long paramLong)
  {
    this.f = paramLong;
    if ((ld.E) || (this.h != null)) {
      this.h.a(paramLong);
    }
  }
  
  public e e()
  {
    return this.c;
  }
  
  public void a(e parame)
  {
    this.c = parame;
    if ((ld.E) || (this.h != null)) {
      this.h.a(parame);
    }
  }
  
  public boolean f()
  {
    return this.d;
  }
  
  public void b(boolean paramBoolean)
  {
    this.d = paramBoolean;
    if ((ld.E) || (this.h != null)) {
      this.h.b(paramBoolean);
    }
  }
  
  public void a()
  {
    if ((ld.E) || (this.h != null)) {
      this.h.a();
    }
  }
  
  protected Rectangle2D a(q paramq, dc paramdc, Rectangle2D paramRectangle2D)
  {
    boolean bool2 = ld.E;
    boolean bool1 = ld.D;
    Object localObject1 = paramq.v();
    Object localObject2;
    Object localObject3;
    Object localObject4;
    label305:
    label307:
    do
    {
      do
      {
        if (!((a.c.w)localObject1).e()) {
          break label310;
        }
        localObject2 = paramdc.d(((a.c.w)localObject1).d());
        if (!bool2)
        {
          if (paramRectangle2D.getWidth() < 0.0D) {
            paramRectangle2D.setFrame(((a.f.zc)localObject2).a(), ((a.f.zc)localObject2).b(), ((a.f.zc)localObject2).c(), ((a.f.zc)localObject2).d());
          }
          paramRectangle2D.add(((a.f.zc)localObject2).a(), ((a.f.zc)localObject2).b());
        }
        paramRectangle2D.add(((a.f.zc)localObject2).a() + ((a.f.zc)localObject2).c(), ((a.f.zc)localObject2).b() + ((a.f.zc)localObject2).d());
        localObject3 = paramdc.f(((a.c.w)localObject1).d());
        if (((bool2) || (localObject3 != null)) && ((bool2) || (localObject3.length > 0)))
        {
          int j = 0;
          do
          {
            if (j >= localObject3.length) {
              break;
            }
            localObject4 = localObject3[j].a();
            t localt1 = ((yc)localObject4).a(localObject3[j].d().f(), (a.f.zc)localObject2, localObject3[j].e()).a();
            paramRectangle2D.add(localt1.d, localt1.e);
            paramRectangle2D.add(localt1.d + localt1.a, localt1.e + localt1.b);
            j++;
            if (bool2) {
              break label307;
            }
            if (bool1) {
              break label305;
            }
          } while (!bool1);
        }
      } while (bool2);
      ((a.c.w)localObject1).f();
    } while (!bool1);
    label310:
    localObject1 = paramq.w();
    label748:
    label750:
    do
    {
      do
      {
        if (!((m)localObject1).e()) {
          return paramRectangle2D;
        }
        a.f.zc localzc;
        int k;
        Object localObject5;
        do
        {
          localObject2 = paramdc.g(((m)localObject1).a());
          localObject3 = paramdc.e(((m)localObject1).a());
          localzc = paramdc.d(((m)localObject1).a().e());
          localObject4 = paramdc.d(((m)localObject1).a().f());
          paramRectangle2D.add(localzc.a() + localzc.c() * 0.5D + ((zb)localObject3).c().a, localzc.b() + localzc.d() * 0.5D + ((zb)localObject3).c().b);
          if (!bool2)
          {
            if (bool1) {
              break label754;
            }
            paramRectangle2D.add(((a.f.zc)localObject4).a() + ((a.f.zc)localObject4).c() * 0.5D + ((zb)localObject3).d().a, ((a.f.zc)localObject4).b() + ((a.f.zc)localObject4).d() * 0.5D + ((zb)localObject3).d().b);
          }
          k = 0;
          do
          {
            if (k >= ((zb)localObject3).a()) {
              break;
            }
            localObject5 = ((zb)localObject3).a(k);
            paramRectangle2D.add(((a.d.w)localObject5).a, ((a.d.w)localObject5).b);
            k++;
            if (bool2) {
              break label750;
            }
            if (bool1) {
              break label748;
            }
          } while (!bool1);
        } while (bool2);
        if (((bool2) || (localObject2 != null)) && ((bool2) || (localObject2.length > 0)))
        {
          k = 0;
          do
          {
            if (k >= localObject2.length) {
              break;
            }
            localObject5 = localObject2[k].a();
            t localt2 = ((xb)localObject5).a(localObject2[k].d().f(), (zb)localObject3, localzc, (a.f.zc)localObject4, localObject2[k].e()).a();
            paramRectangle2D.add(localt2.d, localt2.e);
            paramRectangle2D.add(localt2.d + localt2.a, localt2.e + localt2.b);
            k++;
            if (bool2) {
              break label750;
            }
            if (bool1) {
              break label748;
            }
          } while (!bool1);
        }
      } while (bool2);
      ((m)localObject1).f();
    } while (!bool1);
    label754:
    return paramRectangle2D;
  }
  
  public void a(double paramDouble)
  {
    if ((ld.E) || (this.h != null)) {
      this.h.a(paramDouble);
    }
  }
  
  public void b()
  {
    if ((ld.E) || (this.h != null))
    {
      this.h.b();
      this.h = null;
    }
  }
  
  public void g()
  {
    boolean bool = ld.E;
    if ((bool) || (this.h != null))
    {
      pg localpg = this.h.p;
      g localg = this.h.a;
      a.b.d locald = new a.b.d();
      locald.a(localpg);
      if (!bool)
      {
        locald.a(new b()
        {
          private final g val$graph;
          
          public void a(a.b.k paramAnonymousk)
          {
            if (paramAnonymousk.a() == 4) {
              this.val$graph.gb();
            }
          }
        });
        if (this.g)
        {
          if (bool) {
            break label92;
          }
          locald.a(a.a(this));
          if (!ld.D) {
            return;
          }
        }
      }
      label92:
      locald.a(this);
    }
  }
  
  public void a(pg parampg, dc paramdc)
  {
    b(parampg, paramdc);
    g();
  }
  
  protected void b(pg parampg, dc paramdc)
  {
    this.h = new b_(parampg, paramdc, this);
    this.h.c(h());
    this.h.a(e());
    this.h.a(d());
    this.h.a(c());
    this.h.b(f());
  }
  
  public boolean h()
  {
    return this.e;
  }
  
  public void c(boolean paramBoolean)
  {
    this.e = paramBoolean;
    if ((ld.E) || (this.h != null)) {
      this.h.c(paramBoolean);
    }
  }
  
  private static final class d_
  {
    final o a;
    private final o b;
    private final o c;
    private final double d;
    private final double e;
    
    d_(o paramo1, o paramo2)
    {
      this.b = paramo1;
      this.d = paramo1.k();
      this.c = paramo2;
      double d1 = paramo2.k() - this.d;
      if (!bool)
      {
        if (d1 != 0.0D)
        {
          if (!bool) {}
          int i = d1 < 0.0D ? 1 : 0;
          if (!bool) {
            if (i != 0) {
              d1 = -d1;
            }
          }
          if (!bool) {
            if (d1 > 6.283185307179586D) {
              d1 -= 6.283185307179586D * Math.floor(d1 / 6.283185307179586D);
            }
          }
          if (!bool) {}
          int j = d1 > 3.141592653589793D ? 1 : 0;
          if (!bool) {
            if (j != 0) {
              d1 = 6.283185307179586D - d1;
            }
          }
          if ((j ^ i) != 0) {
            d1 = -d1;
          }
        }
        this.e = d1;
        this.a = new o(paramo1);
      }
    }
    
    void a(double paramDouble1, double paramDouble2)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      if (!bool2) {}
      int i = 0.0D < paramDouble2 ? 1 : 0;
      if (!bool2) {
        if (i != 0)
        {
          if (bool2) {
            break label124;
          }
          if (paramDouble2 < 1.0D)
          {
            this.a.a(paramDouble1 * this.b.d() + paramDouble2 * this.c.d(), paramDouble1 * this.b.e() + paramDouble2 * this.c.e());
            this.a.a(this.d + paramDouble2 * this.e);
            if ((!bool2) && (!bool1)) {
              return;
            }
          }
        }
      }
      label124:
      if (!bool2)
      {
        if (i != 0)
        {
          this.a.a(this.c.d(), this.c.e());
          this.a.c(this.c.i(), this.c.j());
          if (bool2) {
            break label205;
          }
        }
      }
      else if (!bool1) {
        return;
      }
      this.a.a(this.b.d(), this.b.e());
      label205:
      this.a.c(this.b.i(), this.b.j());
    }
  }
  
  private static final class c_
    implements xb, yc
  {
    private c_() {}
    
    public Object a(o paramo, zb paramzb, a.f.zc paramzc1, a.f.zc paramzc2)
    {
      return new zc.d_(paramo, paramo);
    }
    
    public Object a()
    {
      o localo = new o(0.0D, 0.0D, 0.0D, 0.0D);
      return new zc.d_(localo, localo);
    }
    
    public o a(a.d.s params, zb paramzb, a.f.zc paramzc1, a.f.zc paramzc2, Object paramObject)
    {
      return new o(((zc.d_)paramObject).a);
    }
    
    public z a(wb paramwb, zb paramzb, a.f.zc paramzc1, a.f.zc paramzc2)
    {
      return new z();
    }
    
    public Object a(o paramo, a.f.zc paramzc)
    {
      return new zc.d_(paramo, paramo);
    }
    
    public o a(a.d.s params, a.f.zc paramzc, Object paramObject)
    {
      return new o(((zc.d_)paramObject).a);
    }
    
    public z a(xc paramxc, a.f.zc paramzc)
    {
      return new z();
    }
    
    c_(zc.0 param0)
    {
      this();
    }
  }
  
  private static final class f_
    implements ee
  {
    private final zc.e_ a;
    private final double b;
    private final double c;
    private final double e;
    private final double f;
    double h;
    double i;
    
    f_(zc.e_ parame_, a.d.w paramw1, a.d.w paramw2)
    {
      this.a = parame_;
      this.b = paramw1.a();
      this.c = paramw1.b();
      this.h = this.b;
      this.i = this.c;
      this.e = paramw2.a();
      this.f = paramw2.b();
    }
    
    public de a()
    {
      return this.a;
    }
    
    void a(double paramDouble1, double paramDouble2)
    {
      this.h = (paramDouble1 * this.b + paramDouble2 * this.e);
      this.i = (paramDouble1 * this.c + paramDouble2 * this.f);
    }
  }
  
  private static final class e_
    implements de
  {
    private e_() {}
    
    public ee a(a.d.w paramw1, a.d.w paramw2)
    {
      return new zc.f_(this, paramw1, paramw2);
    }
    
    public ee a(ld paramld, a.d.w paramw)
    {
      a.d.w localw = new a.d.w(paramw.a() - paramld.A(), paramw.b() - paramld.B());
      return new zc.f_(this, localw, localw);
    }
    
    public a.d.w a(jd paramjd, ee paramee)
    {
      zc.f_ localf_ = (zc.f_)paramee;
      ld localld = paramjd.b();
      return new a.d.w(localld.A() + localf_.h, localld.B() + localf_.i);
    }
    
    e_(zc.0 param0)
    {
      this();
    }
  }
  
  static final class b_
    implements c
  {
    final g a;
    final dc b;
    Point2D c;
    double[] d;
    double[] e;
    double[] f;
    double[] g;
    boolean[] h;
    double[][] i;
    double[][] j;
    a.d.w[] k;
    a.d.w[] l;
    Point2D m;
    double n;
    e o;
    pg p;
    boolean q;
    boolean r;
    int[][] s;
    Map t;
    long u;
    private boolean v;
    private final zc w;
    private c x;
    int y;
    int z;
    
    public b_(pg parampg, dc paramdc, zc paramzc)
    {
      this.w = paramzc;
      this.a = parampg.a();
      this.p = parampg;
      this.b = new a_(this.a, paramdc);
      this.u = 300L;
      this.v = true;
    }
    
    public boolean d()
    {
      return this.v;
    }
    
    public void a(boolean paramBoolean)
    {
      this.v = paramBoolean;
    }
    
    public long c()
    {
      return this.u;
    }
    
    public void a(long paramLong)
    {
      this.u = paramLong;
    }
    
    public void a(e parame)
    {
      this.o = parame;
    }
    
    public boolean e()
    {
      return this.q;
    }
    
    public void b(boolean paramBoolean)
    {
      this.q = paramBoolean;
    }
    
    public void a()
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      this.c = this.p.J();
      this.n = 0.0D;
      this.y = this.p.o();
      this.z = this.p.n();
      int i1 = this.a.k();
      this.d = new double[i1];
      this.e = new double[i1];
      this.f = new double[i1];
      this.g = new double[i1];
      this.h = new boolean[i1];
      sb localsb = new sb();
      zc.c_ localc_ = new zc.c_(null);
      int i2 = 0;
      a.c.w localw = this.a.v();
      label279:
      Object localObject5;
      Object localObject6;
      Object localObject7;
      label549:
      do
      {
        do
        {
          if (!localw.e()) {
            break;
          }
          localObject1 = localw.d();
          a.f.zc localzc = this.b.d(localw.d());
          this.d[i2] = this.a.p((e)localObject1);
          this.e[i2] = this.a.q((e)localObject1);
          this.f[i2] = this.a.s((e)localObject1);
          this.g[i2] = this.a.t((e)localObject1);
          if (bool1) {
            break label570;
          }
          if (!bool2) {
            if (localzc.c() == this.f[i2]) {
              if (bool2) {
                break label279;
              }
            }
          }
          this.h[i2] = (localzc.d() != this.g[i2] ? 1 : false);
          localObject2 = this.b.f(localObject1);
          if (!bool2)
          {
            if (localObject2 != null)
            {
              localObject3 = this.a.w((e)localObject1);
              localsb.b(((ld)localObject3).c(), ((ld)localObject3).d());
              localsb.a(((ld)localObject3).a(), ((ld)localObject3).b());
              int i5 = 0;
              int i6 = Math.min(((ld)localObject3).x(), localObject2.length);
              do
              {
                if (i5 >= i6) {
                  break label549;
                }
                localObject5 = ((ld)localObject3).b(i5);
                if (bool1) {
                  break;
                }
                if (!a(((jg)localObject5).e(), localObject2[i5].e()))
                {
                  o localo1 = ((jg)localObject5).d();
                  a.d.s locals = new a.d.s(localo1.g(), localo1.h());
                  localObject6 = ((jg)localObject5).a().a(locals, localsb, ((jg)localObject5).e());
                  if ((bool2) || (((o)localObject6).equals(localo1)))
                  {
                    localObject7 = localObject2[i5].a().a(locals, localzc, localObject2[i5].e());
                    ((jg)localObject5).a(localc_, new zc.d_(localo1, (o)localObject7));
                    if (bool2) {
                      continue;
                    }
                    if (!bool1) {}
                  }
                  else
                  {
                    ((jg)localObject5).a(localObject2[i5].e());
                  }
                }
                i5++;
              } while (!bool1);
            }
            localw.f();
            i2++;
          }
        } while (bool2);
      } while (!bool1);
      label570:
      int i3 = this.a.m();
      this.i = new double[i3][];
      this.j = new double[i3][];
      this.s = new int[i3][];
      this.k = new a.d.w[i3];
      this.l = new a.d.w[i3];
      Object localObject1 = new zc.e_(null);
      this.t = new LinkedHashMap();
      this.t.put(null, null);
      int i4 = 0;
      Object localObject2 = new Rectangle2D.Double();
      Object localObject3 = this.a.w();
      Object localObject4;
      label1085:
      label1086:
      label1146:
      label1917:
      do
      {
        if (!((m)localObject3).e()) {
          break;
        }
        localObject4 = ((m)localObject3).a();
        tb localtb = this.a.t((a.c.d)localObject4);
        localtb.a((Rectangle2D)localObject2);
        localObject5 = this.b.e(localObject4);
        if (bool2) {
          break label1941;
        }
        if (bool1) {
          break label1940;
        }
        if (localObject5 == null)
        {
          n.a("EdgeLayout is null! " + localObject4);
          if (bool2) {
            break label1917;
          }
          if (!bool1) {}
        }
        else
        {
          int i7 = localtb.n();
          int i8 = ((zb)localObject5).a();
          this.k[i4] = localtb.c();
          this.l[i4] = localtb.d();
          localObject7 = jd.b(localtb);
          if ((bool2) || (!this.t.containsKey(localObject7)))
          {
            this.t.put(localObject7, ((jd)localObject7).g());
            ((jd)localObject7).a(((zc.e_)localObject1).a(this.k[i4], ((zb)localObject5).c()));
          }
          jd localjd = jd.d(localtb);
          if (!bool2) {
            if (!this.t.containsKey(localjd))
            {
              this.t.put(localjd, localjd.g());
              localjd.a(((zc.e_)localObject1).a(this.l[i4], ((zb)localObject5).d()));
            }
          }
          Object localObject8;
          if (i8 > i7)
          {
            this.i[i4] = new double[i8];
            this.j[i4] = new double[i8];
            this.s[i4] = new int[i8];
            Arrays.fill(this.s[i4], -1);
            i9 = 0;
            i10 = 0;
            int i12 = localtb.a();
            do
            {
              do
              {
                if (i10 >= i12) {
                  break;
                }
                i9 = a(localtb.a(i10), (zb)localObject5, i9, i12 - i10 - 1);
                this.s[i4][i9] = i10;
                i10++;
                i9++;
                if (bool2) {
                  break label1086;
                }
                if (bool1) {
                  break label1085;
                }
              } while (!bool1);
            } while (bool2);
            i10 = -1;
            i12 = 0;
            do
            {
              if (i12 >= this.s[i4].length) {
                break label1146;
              }
              if (bool1) {
                break;
              }
              if (this.s[i4][i12] > -1)
              {
                a(localtb, (zb)localObject5, i4, i10, i12);
                i10 = i12;
              }
              i12++;
            } while (!bool1);
            a(localtb, (zb)localObject5, i4, i10, i8);
            i12 = 0;
            if (bool2) {
              break label1610;
            }
            localObject8 = localtb.o();
            do
            {
              if (!((fb)localObject8).e()) {
                break;
              }
              localObject6 = ((zb)localObject5).a(i12);
              this.i[i4][i12] = (((a.d.w)localObject6).a - ((fb)localObject8).a().b());
              this.j[i4][i12] = (((a.d.w)localObject6).b - ((fb)localObject8).a().c());
              ((fb)localObject8).f();
              i12++;
              if (bool2) {
                break label1288;
              }
              if (bool1) {
                break label1286;
              }
            } while (!bool1);
            if (!bool2)
            {
              this.s[i4] = null;
              if ((!bool2) && (!bool1)) {
                break label1710;
              }
            }
          }
          else
          {
            if (bool2) {
              break label1603;
            }
            if (i8 >= i7) {
              break label1580;
            }
            this.i[i4] = new double[i7];
            this.j[i4] = new double[i7];
            this.s[i4] = new int[i7];
          }
          Arrays.fill(this.s[i4], -1);
          int i9 = 0;
          int i10 = 0;
          do
          {
            do
            {
              if (i10 >= i8) {
                break;
              }
              localObject6 = ((zb)localObject5).a(i10);
              i9 = a((a.d.w)localObject6, localtb, i9, i8 - i10 - 1);
              this.s[i4][i9] = i10;
              eb localeb = localtb.b(i9);
              this.i[i4][i9] = (((a.d.w)localObject6).a() - localeb.b());
              this.j[i4][i9] = (((a.d.w)localObject6).b() - localeb.c());
              i10++;
              i9++;
              if (bool2) {
                break label1488;
              }
              if (bool1) {
                break label1487;
              }
            } while (!bool1);
          } while (bool2);
          i10 = -1;
          int i13 = 0;
          do
          {
            do
            {
              if (i13 >= this.s[i4].length) {
                break label1548;
              }
              if (bool1) {
                break;
              }
              if (this.s[i4][i13] > -1)
              {
                a((zb)localObject5, localtb, i4, i10, i13);
                i10 = i13;
              }
              i13++;
            } while (!bool1);
            if (bool2) {
              break label1711;
            }
            a((zb)localObject5, localtb, i4, i10, localtb.a());
          } while (bool2);
          if (bool1)
          {
            this.i[i4] = new double[i7];
            this.j[i4] = new double[i7];
            i9 = 0;
            fb localfb = localtb.o();
            do
            {
              if (!localfb.e()) {
                break;
              }
              localObject6 = ((zb)localObject5).a(i9);
              this.i[i4][i9] = (((a.d.w)localObject6).a() - localfb.a().b());
              this.j[i4][i9] = (((a.d.w)localObject6).b() - localfb.a().c());
              localfb.f();
              i9++;
              if (bool2) {
                break label1922;
              }
              if (bool1) {
                break label1920;
              }
            } while (!bool1);
          }
          wb[] arrayOfwb = this.b.g(localObject4);
          if (bool2) {
            break label1917;
          }
          if (bool2) {
            break label1940;
          }
          if (arrayOfwb != null)
          {
            int i11 = 0;
            i13 = Math.min(localtb.V(), arrayOfwb.length);
            do
            {
              if (i11 >= i13) {
                break label1905;
              }
              localObject8 = localtb.d(i11);
              if (bool1) {
                break;
              }
              if (!a(((ig)localObject8).e(), arrayOfwb[i11].e()))
              {
                o localo2 = ((ig)localObject8).d();
                o localo3 = arrayOfwb[i11].a().a(new a.d.s(localo2.g(), localo2.h()), (zb)localObject5, this.b.d(((a.c.d)localObject4).e()), this.b.d(((a.c.d)localObject4).f()), arrayOfwb[i11].e());
                ((ig)localObject8).a(localc_, new zc.d_(localo2, localo3));
              }
              i11++;
            } while (!bool1);
          }
        }
        ((m)localObject3).f();
        if (bool2) {
          break;
        }
        i4++;
      } while (!bool1);
      label1286:
      label1288:
      label1487:
      label1488:
      label1905:
      if (!bool2) {}
      label1548:
      label1580:
      label1603:
      label1610:
      this.t.remove(null);
      label1710:
      label1711:
      if (!bool2) {
        if (this.o != null)
        {
          localObject3 = this.b.d(this.o);
          this.m = new Point2D.Double(((a.f.zc)localObject3).a() + ((a.f.zc)localObject3).c() * 0.5D, ((a.f.zc)localObject3).b() + ((a.f.zc)localObject3).d() * 0.5D);
          return;
        }
      }
      label1920:
      label1922:
      label1940:
      label1941:
      if (!bool2)
      {
        if (this.q)
        {
          this.p.a(21, 31);
          this.p.q();
          localObject3 = this.b.d();
          a(this.a, this.b, (Rectangle2D)localObject3);
          this.m = new Point2D.Double(((Rectangle)localObject3).getX() + ((Rectangle)localObject3).getWidth() * 0.5D, ((Rectangle)localObject3).getY() + ((Rectangle)localObject3).getHeight() * 0.5D);
          localObject4 = this.p.getVisibleRect();
          double d1 = this.p.M();
          this.p.a((Rectangle)localObject3);
          double d2 = this.p.M();
          this.p.a((Rectangle)localObject4);
          this.p.b(d1);
          this.x = new bf(this.p).a(d2, a.i.s.b(this.m), this.u);
          this.x.a();
          return;
        }
        if (bool2) {}
      }
      else if (this.r)
      {
        this.p.a(21, 31);
        if (bool2) {
          break label2257;
        }
        this.p.q();
        if (!bool1) {
          return;
        }
      }
      label2257:
      localObject3 = this.b.d();
      if ((bool2) || (localObject3 != null))
      {
        a(this.a, this.b, (Rectangle2D)localObject3);
        this.p.a(21, 31);
        this.p.q();
        this.p.a((Rectangle)localObject3);
      }
    }
    
    private static boolean a(Object paramObject1, Object paramObject2)
    {
      if (!ld.E) {}
      return paramObject1 == null ? false : paramObject1 == paramObject2 ? true : paramObject1.equals(paramObject2);
    }
    
    private void a(tb paramtb, zb paramzb, int paramInt1, int paramInt2, int paramInt3)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      if (!bool2) {
        if (paramInt2 >= paramInt3 - 1) {
          return;
        }
      }
      Object localObject;
      a.d.w localw1;
      if (paramInt2 == -1)
      {
        localObject = paramtb.h();
        localw1 = paramtb.c();
        localw1 = new a.d.w(localw1.a() + ((ld)localObject).A(), localw1.b() + ((ld)localObject).B());
        if (bool2) {
          break label105;
        }
        if (!bool1) {}
      }
      else
      {
        localw1 = paramtb.a(this.s[paramInt1][paramInt2]);
      }
      label105:
      if (paramzb.a() == paramInt3)
      {
        ld localld = paramtb.g();
        localObject = paramtb.d();
        localObject = new a.d.w(((a.d.w)localObject).a() + localld.A(), ((a.d.w)localObject).b() + localld.B());
        if (bool2) {
          break label182;
        }
        if (!bool1) {}
      }
      else
      {
        localObject = paramtb.a(this.s[paramInt1][paramInt3]);
      }
      label182:
      int i1;
      if ((bool2) || ((paramtb.n() == 0) || ((bool2) || (paramzb.a() == paramInt3)))) {
        i1 = paramInt2 + 1;
      }
      while (i1 < paramInt3)
      {
        a.d.w localw2 = a(paramzb.a(i1), localw1, (a.d.w)localObject);
        eb localeb2 = paramtb.c(localw2.a(), localw2.b());
        if (!bool2)
        {
          if (localeb2 != null) {
            i1++;
          }
        }
        else if (bool1)
        {
          eb localeb1 = paramtb.b(this.s[paramInt1][paramInt3]);
          int i2 = 0;
          int i3 = paramInt2 + 1;
          do
          {
            do
            {
              if (i3 >= paramInt3) {
                break;
              }
              a.d.w localw3 = a(paramzb.a(i3), localw1, (a.d.w)localObject);
              eb localeb3 = paramtb.a(localw3.a(), localw3.b(), localeb1, 1);
              if (bool1) {
                return;
              }
              if (localeb3 == null) {
                break;
              }
              i3++;
              i2++;
            } while (!bool1);
          } while (bool2);
          if (!bool2)
          {
            if (i2 > 0) {
              i3 = this.s[paramInt1][paramInt3];
            }
          }
          else
          {
            int i4 = 0;
            do
            {
              if (i4 >= this.s[paramInt1].length) {
                break;
              }
              if (!bool2)
              {
                if (this.s[paramInt1][i4] >= i3) {
                  this.s[paramInt1][i4] += i2;
                }
                i4++;
              }
            } while (!bool1);
          }
        }
      }
    }
    
    private void a(zb paramzb, tb paramtb, int paramInt1, int paramInt2, int paramInt3)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      if (!bool2) {
        if (paramInt2 >= paramInt3 - 1) {
          return;
        }
      }
      a.d.w localw1;
      if (-1 == paramInt2)
      {
        localObject = this.b.d(paramtb.i().e());
        localw1 = paramzb.c();
        localw1 = new a.d.w(localw1.a() + ((a.f.zc)localObject).a() + ((a.f.zc)localObject).c() * 0.5D, localw1.b() + ((a.f.zc)localObject).b() + ((a.f.zc)localObject).d() * 0.5D);
        if (bool2) {
          break label152;
        }
        if (!bool1) {}
      }
      else
      {
        localw1 = paramzb.a(this.s[paramInt1][paramInt2]);
      }
      if (!bool2) {
        label152:
        if (paramtb.a() == paramInt3)
        {
          a.f.zc localzc = this.b.d(paramtb.i().f());
          localObject = paramzb.d();
          localObject = new a.d.w(((a.d.w)localObject).a() + localzc.a() + localzc.c() * 0.5D, ((a.d.w)localObject).b() + localzc.b() + localzc.d() * 0.5D);
          if (bool2) {
            break label273;
          }
          if (!bool1) {
            break label269;
          }
        }
      }
      Object localObject = paramzb.a(this.s[paramInt1][paramInt3]);
      label269:
      label273:
      int i1 = paramInt2 + 1;
      do
      {
        if (i1 >= paramInt3) {
          break;
        }
        eb localeb = paramtb.b(i1);
        a.d.w localw2 = a(localeb.b(), localeb.c(), localw1, (a.d.w)localObject);
        this.i[paramInt1][i1] = (localw2.a() - localeb.b());
        this.j[paramInt1][i1] = (localw2.b() - localeb.c());
        i1++;
      } while (!bool1);
    }
    
    private int a(a.d.w paramw, zb paramzb, int paramInt1, int paramInt2)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      double d1 = 1.7976931348623157E+308D;
      int i1 = paramInt1;
      int i2 = paramInt1;
      int i3 = paramzb.a();
      do
      {
        if (i2 + paramInt2 >= i3) {
          break;
        }
        if ((!bool2) && (bool1)) {
          break label134;
        }
        if (i2 >= i3) {
          break;
        }
        a.d.w localw = paramzb.a(i2);
        double d2 = paramw.a() - localw.a();
        double d3 = paramw.b() - localw.b();
        double d4 = d2 * d2 + d3 * d3;
        if (!bool2)
        {
          if (d1 > d4)
          {
            d1 = d4;
            i1 = i2;
          }
          i2++;
        }
      } while (!bool1);
      label134:
      return i1;
    }
    
    Rectangle2D a(q paramq, dc paramdc, Rectangle2D paramRectangle2D)
    {
      return this.w.a(paramq, paramdc, paramRectangle2D);
    }
    
    public void a(double paramDouble)
    {
      boolean bool2 = ld.E;
      boolean bool1 = ld.D;
      double d1 = paramDouble - this.n;
      double d2 = 1.0D - paramDouble;
      Object localObject2;
      Object localObject3;
      Object localObject4;
      label273:
      label299:
      label302:
      Object localObject6;
      if (!bool2)
      {
        this.n = paramDouble;
        if (paramDouble < 1.0D)
        {
          int i1 = 0;
          localObject2 = this.a.v();
          Object localObject5;
          Object localObject7;
          Object localObject8;
          do
          {
            if (!((a.c.w)localObject2).e()) {
              break;
            }
            localObject3 = ((a.c.w)localObject2).d();
            localObject4 = this.b.d(localObject3);
            localObject5 = this.a.w((e)localObject3);
            if (bool2) {
              break label302;
            }
            if (bool1) {
              break label299;
            }
            if (this.h[i1] != 0) {
              ((ld)localObject5).b(d2 * this.f[i1] + paramDouble * ((a.f.zc)localObject4).c(), d2 * this.g[i1] + paramDouble * ((a.f.zc)localObject4).d());
            }
            ((ld)localObject5).a(d2 * this.d[i1] + paramDouble * ((a.f.zc)localObject4).a(), d2 * this.e[i1] + paramDouble * ((a.f.zc)localObject4).b());
            int i3 = 0;
            int i5 = ((ld)localObject5).x();
            do
            {
              do
              {
                if (i3 >= i5) {
                  break label273;
                }
                localObject7 = ((ld)localObject5).b(i3);
                localObject8 = ((jg)localObject7).e();
                if (bool1) {
                  break;
                }
                if ((localObject8 instanceof zc.d_))
                {
                  ((zc.d_)localObject8).a(d2, paramDouble);
                  ((jg)localObject7).p();
                }
                i3++;
              } while (!bool1);
              ((a.c.w)localObject2).f();
              i1++;
            } while (bool2);
          } while (!bool1);
          if (!bool2) {
            i1 = 0;
          }
          localObject2 = this.a.w();
          label566:
          label571:
          label633:
          do
          {
            if (!((m)localObject2).e()) {
              break;
            }
            localObject3 = ((m)localObject2).a();
            localObject4 = this.b.e(localObject3);
            localObject5 = this.a.t((a.c.d)localObject3);
            a.d.w localw = ((zb)localObject4).c();
            localObject6 = this.k[i1];
            ((tb)localObject5).k().b(d2 * ((a.d.w)localObject6).a() + paramDouble * localw.a(), d2 * ((a.d.w)localObject6).b() + paramDouble * localw.b());
            localObject7 = ((zb)localObject4).d();
            if (bool2) {
              break label1238;
            }
            localObject8 = this.l[i1];
            ((tb)localObject5).l().b(d2 * ((a.d.w)localObject8).a() + paramDouble * ((a.d.w)localObject7).a(), d2 * ((a.d.w)localObject8).b() + paramDouble * ((a.d.w)localObject7).b());
            int i6 = 0;
            if (bool1) {
              break label1232;
            }
            fb localfb = ((tb)localObject5).o();
            do
            {
              do
              {
                if (!localfb.e()) {
                  break;
                }
                localfb.a().b(d1 * this.i[i1][i6], d1 * this.j[i1][i6]);
                localfb.f();
                i6++;
                if (bool2) {
                  break label571;
                }
                if (bool1) {
                  break label566;
                }
              } while (!bool1);
            } while (bool2);
            i6 = 0;
            int i7 = ((tb)localObject5).V();
            do
            {
              do
              {
                if (i6 >= i7) {
                  break label633;
                }
                ig localig = ((tb)localObject5).d(i6);
                Object localObject9 = localig.e();
                if (bool1) {
                  break;
                }
                if ((localObject9 instanceof zc.d_))
                {
                  ((zc.d_)localObject9).a(d2, paramDouble);
                  localig.p();
                }
                i6++;
              } while (!bool1);
              ((m)localObject2).f();
              i1++;
            } while (bool2);
          } while (!bool1);
          if (bool2) {
            break label1238;
          }
          if (bool2) {
            break label1315;
          }
          if (!this.t.isEmpty())
          {
            localObject2 = this.t.keySet().iterator();
            do
            {
              if (!((Iterator)localObject2).hasNext()) {
                break;
              }
              localObject3 = (jd)((Iterator)localObject2).next();
              localObject4 = ((jd)localObject3).g();
              ((zc.f_)localObject4).a(d2, paramDouble);
              if (bool2) {
                break label1315;
              }
              if (bool1) {
                break label1306;
              }
            } while (!bool1);
          }
        }
        else
        {
          if (bool2) {
            break label1233;
          }
        }
      }
      else
      {
        Object localObject1 = this.a.v();
        int i2;
        int i4;
        label905:
        label907:
        do
        {
          do
          {
            if (!((a.c.w)localObject1).e()) {
              break label910;
            }
            localObject2 = ((a.c.w)localObject1).d();
            if (bool2) {
              break label1238;
            }
            localObject3 = this.b.f(localObject2);
            if (bool1) {
              break label1232;
            }
            if (localObject3 != null)
            {
              localObject4 = this.a.w((e)localObject2);
              i2 = 0;
              i4 = Math.min(((ld)localObject4).x(), localObject3.length);
              do
              {
                if (i2 >= i4) {
                  break;
                }
                localObject6 = ((ld)localObject4).b(i2);
                ((jg)localObject6).a(localObject3[i2].a(), localObject3[i2].e());
                i2++;
                if (bool2) {
                  break label907;
                }
                if (bool1) {
                  break label905;
                }
              } while (!bool1);
            }
          } while (bool2);
          ((a.c.w)localObject1).f();
        } while (!bool1);
        label910:
        if (bool2) {
          break label1233;
        }
        localObject1 = this.a.w();
        label1069:
        label1071:
        do
        {
          do
          {
            if (!((m)localObject1).e()) {
              break label1074;
            }
            localObject2 = ((m)localObject1).a();
            localObject3 = this.b.g(localObject2);
            if (bool2) {
              break label1104;
            }
            if (bool1) {
              break label1090;
            }
            if (localObject3 != null)
            {
              localObject4 = this.a.t((a.c.d)localObject2);
              i2 = 0;
              i4 = Math.min(((tb)localObject4).V(), localObject3.length);
              do
              {
                if (i2 >= i4) {
                  break;
                }
                localObject6 = ((tb)localObject4).d(i2);
                ((ig)localObject6).a(localObject3[i2].a(), localObject3[i2].e());
                i2++;
                if (bool2) {
                  break label1071;
                }
                if (bool1) {
                  break label1069;
                }
              } while (!bool1);
            }
          } while (bool2);
          ((m)localObject1).f();
        } while (!bool1);
        label1074:
        if (!bool2) {
          wc.a(this.a, this.b);
        }
        label1090:
        if (bool2) {
          break label1238;
        }
        if (!this.t.isEmpty())
        {
          label1104:
          localObject1 = this.t.entrySet().iterator();
          do
          {
            if (!((Iterator)localObject1).hasNext()) {
              break;
            }
            localObject2 = (Map.Entry)((Iterator)localObject1).next();
            localObject3 = (jd)((Map.Entry)localObject2).getKey();
            localObject4 = ((jd)localObject3).g();
            ((zc.f_)localObject4).a(0.0D, 1.0D);
            ee localee1 = (ee)((Map.Entry)localObject2).getValue();
            ee localee2 = localee1.a().a(((jd)localObject3).b(), ((jd)localObject3).h());
            ((jd)localObject3).a(localee2);
            if (bool2) {
              break label1315;
            }
            if (bool1) {
              break label1306;
            }
          } while (!bool1);
        }
      }
      label1232:
      label1233:
      if (!bool2) {
        label1238:
        if (!bool2) {
          if (this.o != null) {
            this.p.a(d2 * this.c.getX() + paramDouble * this.m.getX(), d2 * this.c.getY() + paramDouble * this.m.getY());
          }
        }
      }
      label1306:
      if ((bool2) || ((bool1) && ((bool2) || (this.q)))) {
        label1315:
        if ((bool2) || (this.x != null)) {
          this.x.a(paramDouble);
        }
      }
    }
    
    public void b()
    {
      this.t = null;
      if (!ld.E)
      {
        if (this.x != null) {
          this.x.b();
        }
        this.p.l();
        this.p.L();
        this.p.a(this.y, this.z);
        this.p.p();
      }
      this.p.q();
    }
    
    private static a.d.w a(a.d.w paramw1, a.d.w paramw2, a.d.w paramw3)
    {
      return a.d.k.d(paramw1.a(), paramw1.b(), paramw2.a(), paramw2.b(), paramw3.a(), paramw3.b());
    }
    
    private static a.d.w a(double paramDouble1, double paramDouble2, a.d.w paramw1, a.d.w paramw2)
    {
      return a.d.k.d(paramDouble1, paramDouble2, paramw1.a(), paramw1.b(), paramw2.a(), paramw2.b());
    }
    
    public boolean f()
    {
      return this.r;
    }
    
    public void c(boolean paramBoolean)
    {
      this.r = paramBoolean;
    }
    
    static final class a_
      implements dc
    {
      private final Map a;
      private final Map b;
      private final g c;
      private final dc d;
      
      a_(g paramg, dc paramdc)
      {
        this.c = paramg;
        this.d = paramdc;
        this.a = new WeakHashMap();
        Object localObject = paramg.v();
        if (((a.c.w)localObject).e()) {}
        while (bool2)
        {
          this.a.put(((a.c.w)localObject).d(), null);
          ((a.c.w)localObject).f();
          if ((!bool2) && (bool1)) {
            break label103;
          }
          if (!bool1) {
            break;
          }
        }
        this.b = new WeakHashMap();
        label103:
        do
        {
          localObject = paramg.w();
          while (!bool1)
          {
            if (!((m)localObject).e()) {
              break;
            }
            this.b.put(((m)localObject).a(), null);
            ((m)localObject).f();
          }
        } while (bool2);
      }
      
      public a.f.zc d(Object paramObject)
      {
        if (!ld.E) {
          if (this.a.containsKey(paramObject)) {
            try
            {
              return this.d.d(paramObject);
            }
            catch (NullPointerException localNullPointerException)
            {
              return this.c.d(paramObject);
            }
          }
        }
        return this.c.d(paramObject);
      }
      
      public zb e(Object paramObject)
      {
        if (!ld.E) {
          if (this.b.containsKey(paramObject)) {
            try
            {
              return this.d.e(paramObject);
            }
            catch (NullPointerException localNullPointerException)
            {
              return this.c.e(paramObject);
            }
          }
        }
        return this.c.e(paramObject);
      }
      
      public xc[] f(Object paramObject)
      {
        if (!ld.E) {
          if (this.a.containsKey(paramObject)) {
            try
            {
              return this.d.f(paramObject);
            }
            catch (NullPointerException localNullPointerException)
            {
              return this.c.f(paramObject);
            }
          }
        }
        return this.c.f(paramObject);
      }
      
      public wb[] g(Object paramObject)
      {
        if (!ld.E) {
          if (this.b.containsKey(paramObject)) {
            try
            {
              return this.d.g(paramObject);
            }
            catch (NullPointerException localNullPointerException)
            {
              return this.c.g(paramObject);
            }
          }
        }
        return this.c.g(paramObject);
      }
      
      public Rectangle d()
      {
        boolean bool2 = ld.E;
        boolean bool1 = ld.D;
        Rectangle localRectangle = this.d.d();
        Object localObject;
        do
        {
          localObject = this.c.v();
          while (!bool1)
          {
            if (!((a.c.w)localObject).e()) {
              break;
            }
            if (bool1) {
              break label96;
            }
            if (!bool2)
            {
              if (!this.a.containsKey(((a.c.w)localObject).d())) {
                this.c.w(((a.c.w)localObject).d()).b(localRectangle);
              }
              ((a.c.w)localObject).f();
            }
          }
        } while (bool2);
        label96:
        do
        {
          localObject = this.c.w();
          while (!bool1)
          {
            if (!((m)localObject).e()) {
              break;
            }
            if (!bool2)
            {
              if (!this.b.containsKey(((m)localObject).a())) {
                this.c.t(((m)localObject).a()).a(localRectangle);
              }
              ((m)localObject).f();
            }
          }
        } while (bool2);
        return localRectangle;
      }
    }
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.j.zc

 * JD-Core Version:    0.7.0.1

 */